<script setup>
import { Message } from '@arco-design/web-vue'
import { onMounted } from 'vue'

import { useRoute, useRouter } from 'vue-router'

const route = useRoute()
const router = useRouter()
console.log(route)
onMounted(() => {
  // 获取 URL 参数中的 token 和 path
  const token = route.query.token || ''
  const path = route.query.path || ''

  if (token) {
    // 如果存在 token，将其存入 localStorage
    sessionStorage.setItem('token', token)

    // 如果有 path 参数，则跳转到指定页面
    if (path) {
      const queryParams = {}
      let targetPath = path
      // 如果 path 包含查询参数，手动解析出来
      if (path.includes('?')) {
        const parts = targetPath.split('?')
        targetPath = parts[0] // 提取路径部分

        // 使用 URLSearchParams 解析查询参数
        const searchParams = new URLSearchParams(parts[1])
        searchParams.forEach((value, key) => {
          queryParams[key] = value
        })
      }

      // 4. 跳转到目标页面，并携带 path 和所有查询参数
      router.push({
        path: `/${targetPath}`,
        query: queryParams
      })
    } else {
      router.push({ path: '/dashboard' })
    }
  } else {
    // 如果 URL 中没有 token，提示错误
    console.error('URL 中缺少 token 参数')
    Message.error('URL中缺少参数')
  }
})
</script>
